package goleetcode


func getGoodIndices(variables [][]int, target int) []int {
	ans := []int{}
	for i, v := range variables {
		if calculate(calculate(v[0], v[1], 10), v[2], v[3]) == target {
			ans = append(ans, i)
		}
	}
	return ans
}

func calculate(x, y, mod int) int {
	res := 1
	for y > 0 {
		if (y & 1) == 1 {
			res = res * x % mod
		}
		x = x * x % mod
		y >>= 1
	}
	return res
}